Workflow and Best Practices

Conventional algorithms are designed to answer exactly one question. In contrast, deep models based on convolutional neural networks (CNNs) can be taught to "learn" patterns and be adapted to a wide variety of problems and tasks, such as denoising, super-resolution, and segmentation. Data, which is used to train a deep model to understand how to learn and apply concepts those concepts, are the most crucial aspect that makes training possible. As shown in the following flowchart, three different data sets — the training set, the validation set, and the testing set — are used for training, fine-tuning, and testing.

Deep learning workflow

Training set… Is the portion of data used to train models. The model learns from this data to apply concepts such denoising, super-resolution, and semantic segmentation and to produce results. Training sets can include the training input(s) and output(s), as well as an optional mask(s). If training is going well, every iteration updates the weights of the network so it becomes better and better at predicting on the training set.

Test set… Is used only when the final model is completely trained to assess the performance of the final model.

Validation set… Is a subset of the training data that provides an unbiased evaluation of a model. Overfitting is checked and avoided with the validation set.

The following 'best practices' can help you get the most from your project: